﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using Do_an_C_sharp.DAL;

namespace Do_an_C_sharp.BLL
{
    class CTPhieuXuatController
    {
        DemoDataContext db = new DemoDataContext();
        HangHoaController HANG = new HangHoaController();
        public List<CTPXuat> layctphieuxuat(string maphieuxuat)
        {
            return db.CTPXuats.Where(mh => mh.MAPX == maphieuxuat).ToList();
        }
        public CTPXuat timelement(string mapx,string mahang)
        {
            return db.CTPXuats.Where(mh => (mh.MAPX == mapx && mh.MAHANG==mahang)).FirstOrDefault();
        }
        public void them(string mapx,string mahang,int slxuat,int dongia,double thue)
        {
            //xây dựng chưa hoàn thiện
            CTPXuat ctxuat = new CTPXuat();
            ctxuat.MAHANG = mahang;
            ctxuat.MAPX = mapx;
            ctxuat.SLXUAT = slxuat;
            ctxuat.DONGIAXUAT = dongia;
            ctxuat.THUE = thue;
            db.CTPXuats.InsertOnSubmit(ctxuat);
        }
        public void xoa(string mapx,string mahang)
        {
            CTPXuat h = timelement(mapx,mahang);
            if (h != null)
            {
                if (HANG.capnhatsoluongxoa(mahang, h.SLXUAT))
                {
                    db.CTPXuats.DeleteOnSubmit(timelement(mapx, mahang));
                }
            }
            //db.SubmitChanges();
        }
        public bool sua(string mapx, string mahang, int slxuat, int dongia, double thue)
        {
            //mới xây dựng để sửa mô tả thôi
            CTPXuat h = timelement(mapx,mahang);
            if (h != null)
            {
                int slcu = h.SLXUAT;
                h.THUE = thue;
                h.SLXUAT = slxuat;
                h.DONGIAXUAT = dongia;
                int slthaydoi = h.SLXUAT - slcu;
                HANG.capnhatsoluong(mahang, slthaydoi);
                return true;
            }
            return false;
        }
        public void luu()
        {
            db.SubmitChanges();
        }
    }
}
